home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / pascal / datagen.exe / DG.DAT next >
Text File  |  1990-03-06  |  29KB  |  634 lines

  1. program <PROCESS>;
  2. { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3.   <PROCESS> : Generated by DataGen
  4.   Copyright (C) January, 1988
  5. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
  6. uses crt, dos, TAccess, io;
  7.  
  8. { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  9.   <PROCESS> data structure definition section
  10. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
  11. {$I <PROCESS>.typ}
  12. var     <PROCESS>_data   : <PROCESS>_structure;
  13.         <PROCESS>_file   : datafile;
  14. <IF_IX1>index1           : indexfile;
  15. <IF_IX2>index2           : indexfile;
  16. <IF_IX3>index3           : indexfile;
  17. <IF_IX4>index4           : indexfile;
  18. <IF_IX5>index5           : indexfile;
  19. <IF_IX6>index6           : indexfile;
  20. <IF_IX7>index7           : indexfile;
  21. <IF_IX8>index8           : indexfile;
  22. <IF_IX9>index9           : indexfile;
  23.  
  24. { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  25.   <PROCESS> global variable declarations.
  26. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
  27. const   NEW_<PROCESS> = -1;
  28. var     <PROCESS>_record : longint;
  29.         search_index : longint;
  30.  
  31.  
  32. { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  33.   <PROCESS> screen definition file.
  34. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
  35. {$I <PROCESS>.scr}
  36. {
  37. *-----------------------------------------------------------------------*
  38.                            function upper_case
  39. *-----------------------------------------------------------------------*
  40. }
  41. function upper_case(in_string : medium_string ) : medium_string;
  42. { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  43.   Accepts lower case string, returns upper case string as value of the
  44.   function.
  45. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
  46.  
  47. var  out_string : medium_string;
  48.      i          : byte;
  49.  
  50. begin
  51.      out_string := '';
  52.      for i := 1 to length( in_string ) do
  53.          out_string := out_string + upcase( in_string[i] );
  54.      upper_case := out_string;
  55. end; {function upper_case}
  56. {
  57. *-----------------------------------------------------------------------*
  58.                           procedure rebuild_index
  59. *-----------------------------------------------------------------------*
  60. }
  61. procedure rebuild_index;
  62. { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  63.   Rebuilds the indices.
  64. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
  65. var  record_number : longint;
  66.      key_to_add    : medium_string;
  67. begin
  68.  
  69.         initindex;
  70.         message('Building Index files...',1);
  71. <IF_IX1>makeindex( index1, '<PROCESS>.ix1', sizeof(<PROCESS>_data.<IX1>)-1, 1 );
  72. <IF_IX2>makeindex( index2, '<PROCESS>.ix2', sizeof(<PROCESS>_data.<IX2>)-1, 1 );
  73. <IF_IX3>makeindex( index3, '<PROCESS>.ix3', sizeof(<PROCESS>_data.<IX3>)-1, 1 );
  74. <IF_IX4>makeindex( index4, '<PROCESS>.ix4', sizeof(<PROCESS>_data.<IX4>)-1, 1 );
  75. <IF_IX5>makeindex( index5, '<PROCESS>.ix5', sizeof(<PROCESS>_data.<IX5>)-1, 1 );
  76. <IF_IX6>makeindex( index6, '<PROCESS>.ix6', sizeof(<PROCESS>_data.<IX6>)-1, 1 );
  77. <IF_IX7>makeindex( index7, '<PROCESS>.ix7', sizeof(<PROCESS>_data.<IX7>)-1, 1 );
  78. <IF_IX8>makeindex( index8, '<PROCESS>.ix8', sizeof(<PROCESS>_data.<IX8>)-1, 1 );
  79. <IF_IX9>makeindex( index9, '<PROCESS>.ix9', sizeof(<PROCESS>_data.<IX9>)-1, 1 );
  80.         for record_number := 1 to filelen(<PROCESS>_file) - 1 do begin
  81.               getrec(<PROCESS>_file,record_number,<PROCESS>_data);
  82.               if <PROCESS>_data.status = 0 then begin
  83. <IF_IX1>                   key_to_add := upper_case(<PROCESS>_data.<IX1>);
  84. <IF_IX1>                   addkey( index1, record_number, key_to_add );
  85. <IF_IX2>
  86. <IF_IX2>                   key_to_add := upper_case(<PROCESS>_data.<IX2>);
  87. <IF_IX2>                   addkey( index2, record_number, key_to_add);
  88. <IF_IX3>
  89. <IF_IX3>                   key_to_add := upper_case(<PROCESS>_data.<IX3>);
  90. <IF_IX3>                   addkey( index3, record_number, key_to_add);
  91. <IF_IX4>
  92. <IF_IX4>                   key_to_add := upper_case(<PROCESS>_data.<IX4>);
  93. <IF_IX4>                   addkey( index4, record_number, key_to_add);
  94. <IF_IX5>
  95. <IF_IX5>                   key_to_add := upper_case(<PROCESS>_data.<IX5>);
  96. <IF_IX5>                   addkey( index5, record_number, key_to_add);
  97. <IF_IX6>
  98. <IF_IX6>                   key_to_add := upper_case(<PROCESS>_data.<IX6>);
  99. <IF_IX6>                   addkey( index6, record_number, key_to_add);
  100. <IF_IX7>
  101. <IF_IX7>                   key_to_add := upper_case(<PROCESS>_data.<IX7>);
  102. <IF_IX7>                   addkey( index7, record_number, key_to_add);
  103. <IF_IX8>
  104. <IF_IX8>                   key_to_add := upper_case(<PROCESS>_data.<IX8>);
  105. <IF_IX8>                   addkey( index8, record_number, key_to_add);
  106. <IF_IX9>
  107. <IF_IX9>                   key_to_add := upper_case(<PROCESS>_data.<IX9>);
  108. <IF_IX9>                   addkey( index9, record_number, key_to_add);
  109.  
  110.               end; {if}
  111.       end; {for}
  112.       message('Index Files Rebuilt.',1);
  113. end   { rebuild_index };
  114.  
  115. {
  116. *-----------------------------------------------------------------------*
  117.                      procedure open_<PROCESS>                            
  118. *-----------------------------------------------------------------------*
  119. }
  120. function open_<PROCESS> : boolean;
  121. { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  122.   Opens files and returns true, false if user wants to QUIT.             
  123. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
  124. begin
  125. open_<PROCESS> := true;
  126. OpenFile( <PROCESS>_file, '<PROCESS>.dat', sizeof( <PROCESS>_data ));
  127. if not ok then begin
  128.        message('WELCOME TO <PROCESS>',1);
  129.        if get_menu('\1Yes\2Quit','',1,'\qFILES NOT FOUND, INITIALIZE? :') = 1 then begin
  130.          makefile( <PROCESS>_file, '<PROCESS>.dat',sizeof(<PROCESS>_data));
  131. <IF_IX1> makeindex( index1, '<PROCESS>.ix1',sizeof( <PROCESS>_data.<IX1>)-1,1);
  132. <IF_IX2> makeindex( index2, '<PROCESS>.ix2',sizeof( <PROCESS>_data.<IX2>)-1,1);
  133. <IF_IX3> makeindex( index3, '<PROCESS>.ix3',sizeof( <PROCESS>_data.<IX3>)-1,1);
  134. <IF_IX4> makeindex( index4, '<PROCESS>.ix4',sizeof( <PROCESS>_data.<IX4>)-1,1);
  135. <IF_IX5> makeindex( index5, '<PROCESS>.ix5',sizeof( <PROCESS>_data.<IX5>)-1,1);
  136. <IF_IX6> makeindex( index6, '<PROCESS>.ix6',sizeof( <PROCESS>_data.<IX6>)-1,1);
  137. <IF_IX7> makeindex( index7, '<PROCESS>.ix7',sizeof( <PROCESS>_data.<IX7>)-1,1);
  138. <IF_IX8> makeindex( index8, '<PROCESS>.ix8',sizeof( <PROCESS>_data.<IX8>)-1,1);
  139. <IF_IX9> makeindex( index9, '<PROCESS>.ix9',sizeof( <PROCESS>_data.<IX9>)-1,1);
  140.        end {if}
  141.        else open_<PROCESS> := false;
  142.        exit;
  143. end {if}
  144. else begin
  145. <IF_IX1> openindex(index1, '<PROCESS>.ix1', sizeof( <PROCESS>_data.<IX1>)-1,1 );
  146. <IF_IX2> openindex(index2, '<PROCESS>.ix2', sizeof( <PROCESS>_data.<IX2>)-1,1 );
  147. <IF_IX3> openindex(index3, '<PROCESS>.ix3', sizeof( <PROCESS>_data.<IX3>)-1,1 );
  148. <IF_IX4> openindex(index4, '<PROCESS>.ix4', sizeof( <PROCESS>_data.<IX4>)-1,1 );
  149. <IF_IX5> openindex(index5, '<PROCESS>.ix5', sizeof( <PROCESS>_data.<IX5>)-1,1 );
  150. <IF_IX6> openindex(index6, '<PROCESS>.ix6', sizeof( <PROCESS>_data.<IX6>)-1,1 );
  151. <IF_IX7> openindex(index7, '<PROCESS>.ix7', sizeof( <PROCESS>_data.<IX7>)-1,1 );
  152. <IF_IX8> openindex(index8, '<PROCESS>.ix8', sizeof( <PROCESS>_data.<IX8>)-1,1 );
  153. <IF_IX9> openindex(index9, '<PROCESS>.ix9', sizeof( <PROCESS>_data.<IX9>)-1,1 );
  154.  
  155. end; {else}
  156. end; {function open_<PROCESS>}
  157. {
  158. *-----------------------------------------------------------------------*
  159.                         procedure close_<PROCESS>                        
  160. *-----------------------------------------------------------------------*
  161. }
  162. procedure close_<PROCESS>;
  163. { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  164.   closes the <PROCESS> data and index files.                             
  165. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
  166. begin
  167.          closefile( <PROCESS>_file );
  168. <IF_IX1> closeindex( index